perm filename DR.LAP[3,LMM] blob sn#037510 filedate 1973-04-24 generic text, type T, neo UTF8
(DEFPROP DRFNS (DRFNS SHOWIT DR DRAWRAD BUMP PUTLINE PUTAT SPLITDIRECTION DELTAS DELTALIST (SETSCALE -5. 5. -5. →
5.)) VALUE) 

(LAP SHOWIT SUBR) 
       (MOVEI 1. (QUOTE 3.)) 
       (JCALL 1. (E SHOW) S) 
       NIL 

(LAP DR SUBR) 
       (MOVEI 3. (QUOTE (1. . 0.)) S) 
       (MOVEI 2. (QUOTE (0. . 0.)) S) 
       (JCALL 3. (E DRAWRAD) S) 
       NIL 

(LAP DRAWRAD SUBR) 
       (PUSH P 1.) 
       (PUSH P 2.) 
       (PUSH P 3.) 
       (HLRZ@ 1. 1.) 
       (JUMPN 1. TAG7) 
       (CALL 0. (E HELP) S) 
       (JRST 0. TAG6) 
 TAG7  (HLRZ@ 1. -2. P) 
       (CALL 1. (E ATOM) S) 
       (JUMPE 1. TAG9) 
       (MOVE 2. 3.) 
       (MOVE 1. -1. P) 
       (CALL 2. (E BUMP) S) 
       (MOVE 2. 1.) 
       (EXCH 1. -1. P) 
       (CALL 2. (E PUTLINE) S) 
       (MOVE 2. -1. P) 
       (HLRZ@ 1. -2. P) 
       (CALL 2. (E PUTAT) S) 
       (HRRZ@ 1. -2. P) 
       (CALL 1. (E CLEXPAND) S) 
       (PUSH P 1.) 
       (HRRZ@ 1. -3. P) 
       (CALL 1. (E CLCOUNT) S) 
       (MOVE 2. 1.) 
       (MOVE 1. -1. P) 
       (CALL 2. (E SPLITDIRECTION) S) 
       (PUSH P 1.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG1  (MOVE 1. -4. P) 
       (JUMPE 1. TAG5) 
       (HLRZ@ 1. -4. P) 
       (MOVEM 1. -2. P) 
       (MOVE 1. -3. P) 
       (JUMPE 1. TAG5) 
       (HLRZ@ 1. -3. P) 
       (MOVE 3. 1.) 
       (MOVE 2. -6. P) 
       (MOVEM 1. -1. P) 
       (MOVE 1. -2. P) 
       (CALL 3. (E DRAWRAD) S) 
 TAG2 
 TAG3  (HRRZ@ 1. -3. P) 
       (MOVEM 1. -3. P) 
 TAG4  (HRRZ@ 1. -4. P) 
       (MOVEM 1. -4. P) 
       (JRST 0. TAG1) 
 TAG5  (MOVE 1. 0. P) 
       (SUB P (C 5. 0. 5. 0.)) 
       (JRST 0. TAG6) 
 TAG9  (CALL 0. (E HELP) S) 
 TAG6  (SUB P (C 3. 0. 3. 0.)) 
       (POPJ P) 
       NIL 

(LAP BUMP SUBR) 
       (PUSH P 2.) 
       (HLRZ@ 2. 2.) 
       (PUSH P 1.) 
       (HLRZ@ 1. 1.) 
       (CALL 2. (E *PLUS) S) 
       (HRRZ@ 2. -1. P) 
       (MOVEM 1. -1. P) 
       (HRRZ@ 1. 0. P) 
       (CALL 2. (E *PLUS) S) 
       (MOVE 2. -1. P) 
       (SUB P (C 2. 0. 2. 0.)) 
       (JCALL 2. (E XCONS) S) 
       NIL 

(LAP PUTLINE SUBR) 
       (HRRZ@ 4. 2.) 
       (HLRZ@ 3. 2.) 
       (HRRZ@ 2. 1.) 
       (HLRZ@ 1. 1.) 
       (CALL 4. (E LINE) S) 
       (JCALL 0. (E SHOWIT) S) 
       NIL 

(LAP PUTAT SUBR) 
       (HLRZ@ 1. 2.) 
       (PUSH P 2.) 
       (CALL 1. (E SCALX) S) 
       (PUSH P 1.) 
       (HRRZ@ 1. -1. P) 
       (CALL 1. (E SCALY) S) 
       (MOVE 2. 1.) 
       (POP P 1.) 
       (SUB P (C 1. 0. 1. 0.)) 
       (JCALL 2. (E APT) S) 
       NIL 

(LAP SPLITDIRECTION SUBR) 
       (PUSH P 1.) 
       (PUSH P 2.) 
       (CAIE 2. (QUOTE 1.)) 
       (JRST 0. TAG6) 
       (CALL 1. (E NCONS) S) 
       (JRST 0. TAG5) 
 TAG6  (MOVE 1. 0. P) 
       (CALL 1. (E DELTAS) S) 
       (PUSH P 1.) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
       (PUSH P (C 0. 0. (QUOTE NIL) 0.)) 
 TAG1  (MOVE 1. -2. P) 
       (JUMPE 1. TAG4) 
       (HLRZ@ 1. -2. P) 
       (HLRZ@ 2. 1.) 
       (MOVEM 1. -1. P) 
       (HLRZ@ 1. -4. P) 
       (CALL 2. (E *TIMES) S) 
       (HRRZ@ 2. -1. P) 
       (PUSH P 1.) 
       (HRRZ@ 1. -5. P) 
       (CALL 2. (E *TIMES) S) 
       (MOVE 2. 1.) 
       (POP P 1.) 
       (CALL 2. (E *DIF) S) 
       (HLRZ@ 2. -1. P) 
       (PUSH P 1.) 
       (HRRZ@ 1. -5. P) 
       (CALL 2. (E *TIMES) S) 
       (HRRZ@ 2. -2. P) 
       (PUSH P 1.) 
       (HLRZ@ 1. -6. P) 
       (CALL 2. (E *TIMES) S) 
       (POP P 2.) 
       (CALL 2. (E *PLUS) S) 
       (POP P 2.) 
       (CALL 2. (E XCONS) S) 
       (MOVE 2. 0. P) 
       (CALL 2. (E CONS) S) 
       (MOVEM 1. 0. P) 
 TAG2 
 TAG3  (HRRZ@ 1. -2. P) 
       (MOVEM 1. -2. P) 
       (JRST 0. TAG1) 
 TAG4  (MOVE 1. 0. P) 
       (SUB P (C 3. 0. 3. 0.)) 
 TAG5  (SUB P (C 2. 0. 2. 0.)) 
       (POPJ P) 
       NIL 

(LAP DELTAS SUBR) 
       (PUSH P 1.) 
       (PUSH P (SPECIAL DELTALIST) S) 
       (CALL 1. (E SUB1) S) 
       (MOVE 2. 1.) 
       (POP P 1.) 
       (CALL 2. (E NTH) S) 
       (MOVEM 1. 0. P) 
       (JUMPE 1. TAG2) 
       (HLRZ@ 1. 1.) 
       (JRST 0. TAG1) 
 TAG2  (MOVE 1. (SPECIAL "FIXUP DELTALIST") S) 
       (CALL 1. (E HELP) S) 
 TAG1  (SUB P (C 1. 0. 1. 0.)) 
       (POPJ P) 
       NIL 

(DEFPROP DELTALIST (DELTALIST ((0.70710677 . 0.70710677) (0.70710677 . -0.70710677)) ((0.70710677 . 0.70710677) →
(1.0 . 0.) (0.70710677 . -0.70710677)) ((0.70710677 . 0.70710677) (0.96592582 . 0.25881903) (0.96592582 . -0.258→
81903) (0.70710677 . -0.70710677)) ((0.70710677 . 0.70710677) (0.92387953 . 0.38268344) (1.0 . 0.) (0.92387953 .→
 -0.38268343) (0.70710677 . -0.70710677)) ((0.70710677 . 0.70710678) (0.89100652 . 0.45399050) (0.98768832 . 0.1→
5643446) (0.98768834 . -0.15643446) (0.89100652 . -0.45399050) (0.70710677 . -0.70710677)) ((0.70710677 . 0.7071→
0677) (0.86602540 . 0.5) (0.96592582 . 0.25881903) (1.0 . 0.) (0.96592582 . -0.25881903) (0.86602539 . -0.5) (0.→
70710677 . -0.70710677)) ((0.70710677 . 0.70710677) (0.84672418 . 0.53203207) (0.94388332 . 0.33027905) (0.99371→
220 . 0.11196447) (0.99371219 . -0.11196447) (0.94388332 . -0.33027906) (0.84672419 . -0.53203207) (0.70710677 .→
 -0.70710677)) ((0.70710677 . 0.70710677) (0.83146961 . 0.55557022) (0.92387953 . 0.38268344) (0.98078527 . 0.19→
509031) (1.0 . 0.) (0.98078528 . -0.19509031) (0.92387953 . -0.38268343) (0.83146960 . -0.55557022) (0.70710677 →
. -0.70710677)) ((0.70710677 . 0.70710677) (0.81915203 . 0.57357644) (0.90630777 . 0.42261827) (0.96592582 . 0.2→
5881903) (0.99619468 . 0.87155747E-1) (0.99619469 . -0.87155739E-1) (0.96592582 . -0.25881903) (0.90630778 . -0.→
42261826) (0.81915203 . -0.57357643) (0.70710677 . -0.70710677)) ((0.70710677 . 0.70710678) (0.80901698 . 0.5877→
8526) (0.89100652 . 0.45399050) (0.95105651 . 0.30901699) (0.98768832 . 0.15643446) (1.0 . 0.74505805E-8) (0.987→
68834 . -0.15643446) (0.95105652 . -0.30901699) (0.89100652 . -0.45399050) (0.80901698 . -0.58778525) (0.7071067→
7 . -0.70710677)) ((0.70710677 . 0.70710677) (0.80054123 . 0.59927767) (0.87767898 . 0.47924898) (0.93694972 . 0→
.34946418) (0.97714686 . 0.21256528) (0.99745211 . 0.71339187E-1) (0.99745210 . -0.71339179E-1) (0.97714686 . -0→
.21256528) (0.93694972 . -0.34946417) (0.87767898 . -0.47924898) (0.80054123 . -0.59927766) (0.70710677 . -0.707→
10677)) ((0.70710677 . 0.70710677) (0.79335332 . 0.60876142) (0.86602540 . 0.5) (0.92387953 . 0.38268344) (0.965→
92582 . 0.25881903) (0.99144485 . 0.13052619) (1.0 . 0.) (0.99144485 . -0.13052618) (0.96592582 . -0.25881903) (→
0.92387953 . -0.38268343) (0.86602539 . -0.5) (0.79335332 . -0.60876142) (0.70710677 . -0.70710677)) ((0.7071067→
7 . 0.70710677) (0.78718348 . 0.61671887) (0.85578127 . 0.51733782) (0.91189983 . 0.41041281) (0.95472086 . 0.29→
750305) (0.98361991 . 0.18025503) (0.99817554 . 0.60378499E-1) (0.99817554 . -0.60378499E-1) (0.98361990 . -0.18→
025503) (0.95472086 . -0.29750305) (0.91189983 . -0.41041281) (0.85578127 . -0.51733781) (0.78718347 . -0.616718→
87) (0.70710677 . -0.70710677)) ((0.70710677 . 0.70710677) (0.78183149 . 0.62348980) (0.84672418 . 0.53203207) (→
0.90096887 . 0.43388373) (0.94388332 . 0.33027905) (0.97492790 . 0.22252093) (0.99371220 . 0.11196447) (1.0 . 0.→
) (0.99371219 . -0.11196447) (0.97492791 . -0.22252093) (0.94388332 . -0.33027906) (0.90096885 . -0.43388374) (0→
.84672419 . -0.53203207) (0.78183148 . -0.62348980) (0.70710677 . -0.70710677)) ((0.70710677 . 0.70710677) (0.77→
714595 . 0.62932038) (0.83867055 . 0.54463904) (0.89100652 . 0.45399050) (0.93358042 . 0.35836794) (0.96592582 .→
 0.25881903) (0.98768832 . 0.15643446) (0.99862952 . 0.52335957E-1) (0.99862952 . -0.52335957E-1) (0.98768834 . →
-0.15643446) (0.96592582 . -0.25881903) (0.93358042 . -0.35836794) (0.89100652 . -0.45399050) (0.83867055 . -0.5→
4463903) (0.77714595 . -0.62932038) (0.70710677 . -0.70710677))) VALUE) 

(SETSCALE -5. 5. -5. 5.)